testatcontext: Print out platform changes
authorMatthias Clasen <mclasen@redhat.com>
Sat, 17 Apr 2021 02:18:52 +0000 (22:18 -0400)
committerMatthias Clasen <mclasen@redhat.com>
Sat, 17 Apr 2021 16:00:11 +0000 (12:00 -0400)
This helps debugging what changes orca sees.

gtk/gtktestatcontext.c

index 601be1144e7dbf14875f30e62e6be78c5c84d6f3..a093fe62226d55cf4f229e7addc7995e0d34f85c 100644 (file)
@@ -78,12 +78,34 @@ gtk_test_at_context_state_change (GtkATContext                *self,
     }
 }
 
+static void
+gtk_test_at_context_platform_change (GtkATContext                *self,
+                                     GtkAccessiblePlatformChange  changed_platform)
+{
+  if (GTK_DEBUG_CHECK (A11Y))
+    {
+      GtkAccessible *accessible;
+
+      accessible = gtk_at_context_get_accessible (self);
+
+      g_print ("*** Accessible platform state changed for accessible ā€œ%sā€:\n",
+               G_OBJECT_TYPE_NAME (accessible));
+      if (changed_platform & GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSABLE)
+        g_print ("***  focusable = %d\n",
+                 gtk_accessible_get_platform_state (accessible, GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSABLE));
+      if (changed_platform & GTK_ACCESSIBLE_PLATFORM_CHANGE_FOCUSED)
+        g_print ("***    focused = %d\n",
+                 gtk_accessible_get_platform_state (accessible, GTK_ACCESSIBLE_PLATFORM_STATE_FOCUSED));
+    }
+}
+
 static void
 gtk_test_at_context_class_init (GtkTestATContextClass *klass)
 {
   GtkATContextClass *context_class = GTK_AT_CONTEXT_CLASS (klass);
 
   context_class->state_change = gtk_test_at_context_state_change;
+  context_class->platform_change = gtk_test_at_context_platform_change;
 }
 
 static void